//从pinia依赖包中导入defineStore函数
import {defineStore} from 'pinia'

/**
 * 使用defineStore,该含有有两个参数
 * 参数1：当前唯一标识
 * 参数2：为配置对象,配置对象中常见的选项如下
 * state：函数，该函数的返回值中定义状态
 * actions:完成同步或者异步的操作
 * 返回值的使用变量进行接收，该变量的取名如下
 * useXXStore
 */
export const useCounterStore=defineStore("counter",{
    state(){
        return{
            count:0
        }
    },
    actions:{
        increment(){
            this.count++
        },
        incrementAsyc(){
            setTimeout(() => {
                this.count++
            }, 3000);
        },
        incrementNum(n:number){
            this.count+=n
        }
    },
    persist:{
        enabled:true,
        strategies:[
            {
                key:'gilekey',
                storage:localStorage
            }
        ]
    }
})